package com.yserp.api.orderapi;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;

import com.yserp.api.baseapi.erpController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;


import cn.basecode.server.common.constants.ResCode;
import cn.basecode.server.common.vo.ResultDO;



/**
 * @author: sumj
 * @date: 2014年12月12日 下午3:14:17
 */
//@Controller
//@RequestMapping(value = "/client/store")
public class ManageStoreApi extends erpController {


	
	 // 文件保存地址
    @Value("#{configProperties['file.save.path']}")
    private String FILE_SAVE_PATH;
    // 图片保存地址
    @Value("#{configProperties['img.save.path']}")
    private String IMG_SAVE_PATH;

    // 文件上传
    @RequestMapping(value = "/saveImage", method = RequestMethod.PUT)
    public @ResponseBody ResultDO<?> saveImage(HttpServletRequest request) throws IllegalStateException, IOException {

        String fileName = request.getParameter("imageFileName");
        String fileAddr = request.getParameter("fileAddr");
        InputStream ins = request.getInputStream();
        try {
            fileAddr = IMG_SAVE_PATH + File.separator + fileAddr;
            File f = new File(fileAddr);
            if (!f.exists()) {
                f.mkdirs();
            }
            OutputStream os = new FileOutputStream(fileAddr + File.separator + fileName);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return toSuccessResult("success");
    }
    
//	/**
//	 * <p>
//	 * 出库.
//	 * </p>
//	 */
//	@RequestMapping(value = "/goOutStore", method = RequestMethod.POST)
//	@ResponseBody
//	private ResultDO<?> GoOutStore(OrderGoodsBean bean) {
//		try {
//			// List<SysDictBean> list =
//			// DictConst.getDictListByTypeCode(dictCode);
//			// return new ResultDO<List<SysDictBean>>(list);
//			return manageStoreService.GoOutStore(bean);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "出库失败!");
//		}
//	}
//
//	/**
//     * <p>
//     * 退货.
//     * </p>
//     */
//    @RequestMapping(value = "/returnGoods", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> returnGoods(OrderGoodsBean bean) {
//        try {
//            // List<SysDictBean> list =
//            // DictConst.getDictListByTypeCode(dictCode);
//            // return new ResultDO<List<SysDictBean>>(list);
//            return manageStoreService.returnGoods(bean);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "退货失败!");
//        }
//    }
//
//    /**
//     * <p>
//     * 损耗.
//     * </p>
//     */
//    @RequestMapping(value = "/lossGoods", method = RequestMethod.POST)
//    @ResponseBody
//    private ResultDO<?> lossGoods(OrderGoodsBean bean) {
//        try {
//            // List<SysDictBean> list =
//            // DictConst.getDictListByTypeCode(dictCode);
//            // return new ResultDO<List<SysDictBean>>(list);
//            return manageStoreService.lossGoods(bean);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "损耗失败!");
//        }
//    }
//
//	/**
//	 * <p>
//	 * 盘点仓库.
//	 * </p>
//	 */
//	@RequestMapping(value = "/updateStore", method = RequestMethod.POST)
//	@ResponseBody
//	private ResultDO<?> updateStore(OrderGoodsBean bean) {
//		try {
//			// List<SysDictBean> list =
//			// DictConst.getDictListByTypeCode(dictCode);
//			// return new ResultDO<List<SysDictBean>>(list);
//			return manageStoreService.updateStore(bean);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "盘点失败!");
//		}
//	}
//
//	/**
//	 * <p>
//	 * 获取机构下的仓库.
//	 * </p>
//	 */
//	@RequestMapping(value = "/getStoreByOrg", method = RequestMethod.POST)
//	@ResponseBody
//	private ResultDO<?> getStoreByOrg(String orgId,String userId) {
//		try {
//			// List<SysDictBean> list =
//			// DictConst.getDictListByTypeCode(dictCode);
//			// return new ResultDO<List<SysDictBean>>(list);
//			return  purchasePlanService.getStoreByOrgId(orgId,userId);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "获取仓库失败!");
//		}
//	}
//
//	/**
//	 * <p>
//	 * 获取机构下的供应商.
//	 * </p>
//	 */
//	@RequestMapping(value = "/getSupplierByOrg", method = RequestMethod.POST)
//	@ResponseBody
//	private ResultDO<?> getSupplierByOrg(String orgId,String userId) {
//	    try {
//	        // List<SysDictBean> list =
//	        // DictConst.getDictListByTypeCode(dictCode);
//	        // return new ResultDO<List<SysDictBean>>(list);
//	        return  supplierService.getListSupplierByOrgAndUser(orgId,  userId);
//
//	    } catch (Exception e) {
//	        e.printStackTrace();
//	        return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "获取供应商失败!");
//	    }
//	}
//
//	/**
//	 * <p>
//	 * 获取仓库下的所有商品.
//	 * </p>
//	 */
//	@RequestMapping(value = "/getGoodsByStore", method = RequestMethod.POST)
//	@ResponseBody
//	private ResultDO<?> getGoodsbyByStore(String orgId,String storeId,String classId,String goodsName) {
//		try {
//			// List<SysDictBean> list =
//			// DictConst.getDictListByTypeCode(dictCode);
//			// return new ResultDO<List<SysDictBean>>(list);
//			return manageStoreService.getGoodsByCondition(orgId,storeId, classId, goodsName);
////			getGoodsByCondition
//		} catch (Exception e) {
//			e.printStackTrace();
//			return toErrorResult(ResCode.COM_EXCEPTION.getResCode(), "获取商品失败!");
//		}
//	}
}
